﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
#include <string>

using namespace std;

int main()
{
    //贪心：如果整个字符串是回文字符，那么只要去掉最后一个字符，就不是回文子串了，并且是最大长度的非回文子串
    //特殊情况，如果整个字符串都是相同的字符，那么最长的非回文子串是0
    string str;
    cin >> str;

    bool flag = true;//一开始可能只有一个字符，此时为ture，因为非回文子串长度为0
    for (int i = 1; i < str.size(); ++i)//特殊情况，检查是不是整个字符串是相同的字符
    {
        if (str[i] != str[i - 1])
        {
            flag = false;//整个字符串不是相同的元素
            break;
        }
    }

    if (flag)
    {
        cout << 0 << endl;
        return 0;
    }

    flag = true;
    int begin = 0, end = str.size() - 1;
    while (begin < end)//检查是否是回文子串
    {
        if (str[begin] != str[end])
        {
            flag = false;
            break;
        }
        ++begin;
        --end;
    }

    if (flag)
        cout << str.size() - 1 << endl;
    else
        cout << str.size() << endl;

    return 0;
}

/*
链接：https://ac.nowcoder.com/acm/problem/214851
来源：牛客网
题目描述
给出一个字符串，求最长非回文子字符串的长度
输入描述:
在一行中给出一个字符串,1≤∣s∣≤1^7
输出描述:
一个整数

示例1
输入
meow
输出
4
*/

